package com.booksystem.service;

import com.booksystem.dto.UserInfoUpdateDTO;
import com.booksystem.dto.UserLoginDTO;
import com.booksystem.dto.UserPasswordUpdateDTO;
import com.booksystem.dto.UserRegisterDTO;
import com.booksystem.entity.UserDO;

/**
 * <p>
 *   用户服务接口
 * </p>
 * @author 段伟豪
 */
public interface UserService {

    /**
     * 用户注册
     *
     * @param userRegisterDTO 注册信息
     * @return 是否成功
     */
    Boolean register(UserRegisterDTO userRegisterDTO);

    /**
     * 用户登录
     *
     * @param loginDTO 登录信息
     * @return 用户信息
     */
    UserDO login(UserLoginDTO loginDTO);

    /**
     * 更新用户信息
     *
     * @param userInfoUpdateDTO 更新信息
     * @return 是否成功
     */
    Boolean updateUserInfo(UserInfoUpdateDTO userInfoUpdateDTO);

    /**
     * 更新用户密码
     *
     * @param passwordUpdateDTO 密码更新信息
     * @return 是否成功
     */
    Boolean updatePassword(UserPasswordUpdateDTO passwordUpdateDTO);
}